<?php
/*************************************************

图片上传公共控制器 - the 
Author: WangHuabin <17-5-18>

*************************************************/
namespace Home\Controller;
use Think\Controller;
class UploadController extends Controller {
     //图片上传
    public function im_img_upd(){
        $file = I('post.file');
        //实例化阿里oss对象存储api
        import("Api.Alapi");
        $al = new \Alapi();
        //$result
       // $path = I('post.path'); //路径
        // $file = I('post.file'); //文件base64
        //图片处理
        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $file, $result)){
            // print_r($result);
            $type = $result[2];
            $new_file = "Public/upload/";
                if(!file_exists($new_file))
                {
                //检查是否有该文件夹，如果没有就创建，并给予最高权限
                mkdir($new_file, 0777);
                }
                $new_file = $new_file.time().".{$type}";
                if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $file)))){//base64转码
                    $path = 'jg-upload/newimages/'.time().rand(0,99).".{$type}"; //组装oss路径和保存的文件名称
                    $rt = $al->uploadFile('jg-jrj',$path,$new_file);//oss接口
                    unlink ($new_file);//删除服务器文件  不管是否上传oss成功  防止服务器磁盘压力
                    if($rt){
                        $img_url = $rt['info']['url'];//图片远程地址
                        $data = array('errorCode'=>1,'msg'=>'上传成功！','url'=>$img_url);
                    }else{
                        $data = array('errorCode'=>2,'msg'=>'oss上传失败');
                    }
                }else{
                        $data = array('errorCode'=>3,'msg'=>'图片上传失败');
                }
        }
        $this->ajaxReturn($data);
    }
    //图片上传
    public function index($file){
        //实例化阿里oss对象存储api
        import("Api.Alapi");
        $al = new \Alapi();
        //$result
       // $path = I('post.path'); //路径
        // $file = I('post.file'); //文件base64
        //图片处理
        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $file, $result)){ 
            // print_r($result);
            $type = $result[2];
            $new_file = "Public/upload/";
                if(!file_exists($new_file))
                {
                //检查是否有该文件夹，如果没有就创建，并给予最高权限
                mkdir($new_file, 0777);
                }
                $new_file = $new_file.time().".{$type}";
                if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $file)))){//base64转码
                    $path = 'jg-upload/newimages/'.time().rand(0,99).".{$type}"; //组装oss路径和保存的文件名称
                    $rt = $al->uploadFile('jg-jrj',$path,$new_file);//oss接口
                    unlink ($new_file);//删除服务器文件  不管是否上传oss成功  防止服务器磁盘压力
                    if($rt){
                        $img_url = $rt['info']['url'];//图片远程地址
                        $data = array('errorCode'=>1,'msg'=>'上传成功！','url'=>$img_url);
                    }else{
                        $data = array('errorCode'=>3,'msg'=>'oss上传失败');
                    }
                }else{
                        $data = array('errorCode'=>3,'msg'=>'图片上传失败');
                }
        }
        return $data;
    }

    //本地图片转出
    public function save_oss($file,$file_ext){
                $path = 'jg-upload/newimages/'.time().rand(0,99).".$file_ext"; //组装oss路径和保存的文件名称
                $rt = $al->uploadFile('jg-jrj',$path,$file);//oss接口
                unlink ($file);//删除服务器文件  不管是否上传oss成功  防止服务器磁盘压力
    }

    //图片缩放强制缩放
    public function resize($pic,$width,$height){
        $parame = "?x-oss-process=image/resize,m_fixed,h_".$height.",w_".$width;
        $new_url = $pic.$parame;
        return $new_url;
    }

    //视频ID转url
    public function get_video_url($vid){
         import("Api.Qapi");
         $Qvideo = new \Qapi();;
         $res = $Qvideo->get_vod_playurl($vid);
         $res = preg_replace("/.f230.av.m3u8/is", "", $res['playSet'][0]['url']); 
         $res = preg_replace("/.f240.av.m3u8/is", "", $res); 
         $res = preg_replace("/.f240.av.m3u8/is", "", $res);
         $res = preg_replace("/.f0.mp4/is", "", $res); 
         $res = preg_replace("/.f20.mp4/is", "", $res); 
         $hd_url = $res."/f0.mp4";
         return $hd_url;
    }

 
     
}